#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QVariantList>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);


    QStringList strList;
    strList<<"123"<<"343";
    QVariantList varList;
    varList<<"string"<<true<<100<<12.00090<<strList;

    //常见类型到QString的转换
    foreach(QVariant var,varList){
        qDebug()<<"值："<<var.toString(); //toString支持常见类型到QString的转换
    }

    //QString 其他常见类型的转换
    varList.clear();
    varList<<"string"<<"true"<<"100"<<"12.00090";

    qDebug()<<varList[0].toString()<<varList[1].toBool()<<varList[2].toInt()<<varList[3].toDouble();


    //QVariant 到其他类型的转换
    QVariant var1(1),var2("abcd"),var3(12.34),var4(true);
    int nVar1 = var1.value<int>();
    QString strVar2 = var2.value<QString>();
    double dVar3 = var3.value<double>();
    bool bVar4 = var4.value<bool>();

    qDebug()<<"类型转换："<<nVar1<<strVar2<<dVar3<<bVar4;
}

MainWindow::~MainWindow()
{
    delete ui;
}

